home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Jumpstart / Multimedia Microsoft Jumpstart Version 1.1a (Microsoft).BIN / develpmt / source / hotspot / editor / hotspot.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-03  |  3.4 KB  |  104 lines

  1. /**************************************************************************
  2.  *
  3.  *  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4.  *  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5.  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6.  *  PURPOSE.
  7.  *
  8.  *  Copyright (c) 1993  Microsoft Corporation.  All Rights Reserved.
  9.  * 
  10.  **************************************************************************/
  11.  
  12.  
  13. typedef struct _HOTSPOT
  14. {
  15.     struct _HOTSPOT FAR *pNext;
  16.     struct _HOTSPOT FAR *pPrev;
  17.     
  18.     RECT rc;
  19.     LPSTR pszCommand;
  20.     LPSTR pszHotspotID;
  21.     DWORD BeginFrame;
  22.     DWORD EndFrame;
  23.     int OnClick;            
  24.     int ToFrame;                // if OnClick == ID_JUMP, ToFrame should be set
  25.     
  26. } HOTSPOT, FAR *PHOTSPOT;
  27.  
  28. typedef struct _MOVIEINFO       // associate this with a window
  29. {
  30.     PHOTSPOT pHotspotList;
  31.     
  32.     WORD wMCIDeviceID;
  33.     HWND hwndMovie;
  34.     HWND hwndParent;            // set this before OPEN
  35.     RECT rcMovie;
  36.     BOOL fPlaying;
  37.     BOOL fMovieOpen;
  38.     
  39.     DWORD dwMovieLength;
  40.     DWORD dwCurrentFrame;
  41.     FARPROC     lpfnOldProc;                // far ptr to old proc before subclass
  42.     FARPROC     lpfnhspAVICallback;
  43.     
  44.     char szAVIFileName[129];
  45.     char szIniFileName[129];
  46.     
  47.     LONG lLastSeek;    
  48.     
  49. } MOVIEINFO, FAR *PMOVIEINFO;
  50.  
  51.  
  52. HANDLE __hMem;
  53.  
  54. #define ALLOCATE(s) ((__hMem = GlobalAlloc(GHND, (DWORD)(s))) ? GlobalLock(__hMem) : NULL)
  55. #define FREE(p) (GlobalUnlock((HANDLE)HIWORD(p)),GlobalFree((HANDLE)HIWORD(p)))
  56. #define SIZE(p) (GlobalSize((HANDLE)HIWORD(p)))
  57.  
  58. #define USHORT WORD
  59.  
  60. LONG CALLBACK LDLLHandler(UINT msg, LONG lParam1, LONG lParam2);
  61. BOOL CALLBACK LibMain(HANDLE hModule, int cbHeap, LPSTR lpchCmdLine);
  62. LPSTR FindToken(LPSTR psz, char c);
  63. int StrToInt(LPSTR lpstr);
  64. BOOL InitHotspots(PMOVIEINFO pMovieInfo, LPSTR szIniFile);
  65. void DeleteHotspot(PMOVIEINFO pMovieInfo, PHOTSPOT pHotspot);
  66. void DeleteHotspotList(PMOVIEINFO pMovieInfo);
  67. void AddHotspot(PMOVIEINFO pMovieInfo, PHOTSPOT pHotspot);
  68. #ifdef VIEWER
  69.  LONG CALLBACK __export hspPlayAVI(HWND hwnd, LPSTR  szAVIFile, LPSTR szIniFile);
  70. #endif
  71. #ifdef AVIHAPP
  72.  LONG CALLBACK __export hspPlayAVI(HWND hwnd, LPSTR szAVIFile, LPSTR szIniFile, FARPROC);
  73. #endif
  74. LONG CALLBACK __export SbClsProc (HWND hwnd, USHORT msg, USHORT wp, LONG lp);
  75.  
  76. ///// avi.c --
  77. BOOL initAVI(void);
  78. void termAVI(void);
  79.  
  80. ///// movie.c --
  81. void fileOpenMovie(PMOVIEINFO pMovieInfo, LPSTR szFilename);
  82. void fileCloseMovie(PMOVIEINFO pMovieInfo, BOOL bUpdate);
  83. VOID positionMovie(PMOVIEINFO pMovieInfo);
  84. void playMovie(PMOVIEINFO pMovieInfo, WORD wDirection);
  85. void seekMovie(PMOVIEINFO pMovieInfo, WORD wAction);
  86. void stepMovie(PMOVIEINFO pMovieInfo, HWND hWnd, WORD wDirection);
  87. DWORD GetMovieFrame(PMOVIEINFO pMovieInfo);
  88. DWORD GetMovieLength(PMOVIEINFO pMovieInfo);
  89. void setMovie(PMOVIEINFO pMovieInfo, DWORD dwFrame, HWND hCallback);
  90. int OnButtonDown(PMOVIEINFO pMovieInfo, USHORT msg, USHORT wp, LONG lp);
  91.  
  92. #define ID_HOME     0
  93. #define ID_END      1
  94.  
  95. #define ID_CONTINUE                     1017        // defined in ..\avihed\resource.h
  96. #define ID_STOP                         1018        //
  97. #define ID_JUMP                         1019        //
  98.  
  99. #define Message(xx) MessageBox(GetFocus(),xx,"Hotspot Editor",MB_OK)
  100.  
  101. #define szDrawPropName szMovieInfo
  102. extern char szMovieInfo[];
  103.  
  104.